﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace MVCScaffold.Tests.Suporte
{
    public static class PrepararArquivosTemplate
    {
        private const string CaminhoArquivoTemplateCSharp = @"..\..\..\MVCScaffold\Templates\CSharp\";
        private static string ObterDiretorio()
        {
            if (!Directory.Exists(Path.Combine(Properties.Resources.DiretorioOut, "CSharp")))
                Directory.CreateDirectory(Path.Combine(Properties.Resources.DiretorioOut, "CSharp"));

            return Path.Combine(Properties.Resources.DiretorioOut, "CSharp");
        }

        public static void CriarArquivosTemplate(string nomeTemplate)
        {
            string diretorio = ObterDiretorio();
            using (FileStream fileStream = File.Create(Path.Combine(diretorio, nomeTemplate)))
            {
                var arquivo = File.ReadAllBytes(CaminhoArquivoTemplateCSharp + nomeTemplate);
                fileStream.Write(arquivo, 0, arquivo.Length);
            }
        }

        public static void CriarArquivosTemplate(string conteudoTemplate, string nomeTemplate)
        {
            string diretorio = ObterDiretorio();
            using (FileStream fileStream = File.Create(Path.Combine(diretorio, nomeTemplate)))
            {
                var arquivo = Encoding.Default.GetBytes(conteudoTemplate);
                fileStream.Write(arquivo, 0, arquivo.Length);
            }
        }
    }
}
